// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';
// 引入element UI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App';
// 引入路由
import router from './router';
// 引入状态管理
import store from './vuex/store';
// 引入icon
import './assets/icon/iconfont.css'
//
// 引入echarts
import echarts from 'echarts'
import axios from 'axios';
// 过滤器
import * as custom from './utils/util'

Vue.prototype.$echarts = echarts

Vue.prototype.$axios = axios;

Vue.config.productionTip = false;

// 使用element UI
Vue.use(ElementUI);

Object.keys(custom).forEach(key => {
  Vue.filter(key, custom[key])
})

// 路由拦截器
// 未登录拦截
router.beforeEach((to, from, next) => {
  // 页面title
  document.title = to.meta.title;

  let token = localStorage.getItem("token");
  if (to.meta.requireAuth) {
    if (token) {
      next();
    } else {

    }
  } else {
    next();
  }
});


/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store, //使用store vuex状态管理
  components: {App},
  template: '<App/>',
  data: {
    // 空的实例放到根组件下，所有的子组件都能调用
    Bus: new Vue()
  }

})
